package com.shanzmoo.db.sys.service;

import com.shanzmoo.base.bean.PageRespBase;
import com.shanzmoo.base.bean.SResponse;
import com.shanzmoo.db.sys.entity.RoleEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shanzmoo.db.sys.entity.dto.RoleQueryDto;
import com.shanzmoo.db.sys.entity.dto.RoleUpdateDto;
import com.shanzmoo.db.sys.entity.vo.RolePageVo;
import com.shanzmoo.db.sys.entity.vo.RoleSelectVo;

import java.util.List;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author Gzhao
 * @since 2020-11-10
 */
public interface IRoleService extends IService<RoleEntity> {

    SResponse<Boolean> add(RoleEntity roleEntity, List<Integer> menuIds);

    SResponse<Boolean> deleteById(RoleEntity roleEntity);

    SResponse<Boolean> edit(RoleUpdateDto updateDto);

    SResponse<PageRespBase<RolePageVo>> getPageList(RoleQueryDto queryDto);

    SResponse<List<Integer>> getMenuIdsRoleId(Integer roleId);

    List<RoleSelectVo> selectList(Integer outletId);
}
